package com.haojiang.mh.remote.ui.frag

import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager
import com.haojiang.mh.R
import com.haojiang.mh.remote.adapter.MemoryNewFragAdapter
import com.haojiang.mh.remote.base.BaseFrag
import com.haojiang.mh.remote.enums.EArea
import com.haojiang.mh.remote.event.FunChangeEvent
import com.haojiang.mh.remote.utils.MenuUtil.memoryMap
import kotlinx.android.synthetic.main.frag_memory_new.*
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode

class MemoryNewFrag : BaseFrag() {

    val memoryNewFragAdapter by lazy { MemoryNewFragAdapter() }


    override fun onLayoutId(): Int {
        return R.layout.frag_memory
    }

    override fun initView() {
//        LogUtil.e("记忆为止视图被加载")
        if(!EventBus.getDefault().isRegistered(this)) {
            EventBus.getDefault().register(this)
        }
//        return View.inflate(context, R.layout.frag_memory_new, null)
    }


    override fun initListener() {
//        LogUtil.e("initListener記憶位置")
        rvMemory.layoutManager = LinearLayoutManager(context)
        rvMemory.adapter = memoryNewFragAdapter

//        if (memoryMap.size > 0) {
//            memoryFragAdapter.setData(MenuUtil.memoryMap)
//        }


//        showFunction()

    }


    override fun initData() {
        showFrag()
        showFunction()
    }

    @Subscribe(threadMode = ThreadMode.MAIN)
    fun onFunctionEvent(event: FunChangeEvent) {
        when (event.fragCode) {
            EArea.MEMORY.key -> {
//                ThreadUtils.ui {
                showFrag()
//                }
//                showFrag()
            }
        }
//        ThreadUtils.asyn {
//            if (memoryMap.size > 0) {
//                LogUtil.e("记忆位置进来了")
//                memoryFragAdapter.setData(MenuUtil.memoryMap)
//                LogUtil.e("记忆位置进来了")
//            }
//        }
    }

    @Synchronized
    private fun showFrag() {
        if (memoryMap.size > 0) {
//            LogUtil.e("记忆位置进来了")
            memoryNewFragAdapter.setData(memoryMap)
//            LogUtil.e("记忆位置进来了")
        }
    }

    override fun initDestroy() {
        EventBus.getDefault().unregister(this)
    }


    private fun showFunction() {
        //        if (memoryMap.size <= 0) {

//            memoryMap.put(
//                Constant.ITEM_TV,
//                mutableListOf<Cmd>(
//                    Cmd(
//                        CmdUtil.MEMORY,
//                        CmdKey.TV_SET_POS
//                    ),
//                    Cmd(
//                        CmdUtil.MEMORY,
//                        CmdKey.TV_BACK_POS
//                    )
//                )
//            )
//            memoryMap.put(
//                Constant.ITEM_ZG,
//                mutableListOf<Cmd>(
//                    Cmd(
//                        CmdUtil.MEMORY,
//                        CmdKey.ZG_SET_POS
//                    ),
//                    Cmd(
//                        CmdUtil.MEMORY,
//                        CmdKey.ZG_BACK_POS
//                    )
//                )
//            )
////
//            memoryMap.put(
//                Constant.ITEM_SNORE,
//                mutableListOf<Cmd>(
//                    Cmd(
//                        CmdUtil.MEMORY,
//                        CmdKey.SNORE_SET_POS
//                    ),
//                    Cmd(
//                        CmdUtil.MEMORY,
//                        CmdKey.SNORE_BACK_POS
//                    )
//                )
//            )
//
//        memoryMap.put(
//            Constant.ITEM_LOUNGE,
//            mutableListOf<Cmd>(
//                Cmd(
//                    CmdUtil.MEMORY,
//                    CmdKey.LOUNGE_SET_POS
//                ),
//                Cmd(
//                    CmdUtil.MEMORY,
//                    CmdKey.LOUNGE_BACK_POS
//                )
//            )
//        )
//
//        memoryMap.put(
//            Constant.ITEM_M1,
//            mutableListOf<Cmd>(
//                Cmd(
//                    CmdUtil.MEMORY,
//                    CmdKey.M1_SET_POS
//                ),
//                Cmd(
//                    CmdUtil.MEMORY,
//                    CmdKey.M1_BACK_POS
//                )
//            )
//        )
//
//        memoryMap.put(
//            Constant.ITEM_M2,
//            mutableListOf<Cmd>(
//                Cmd(
//                    CmdUtil.MEMORY,
//                    CmdKey.M2_SET_POS
//                ),
//                Cmd(
//                    CmdUtil.MEMORY,
//                    CmdKey.M2_BACK_POS
//                )
//            )
//        )
//
//        memoryMap.put(
//            Constant.ITEM_M3,
//            mutableListOf<Cmd>(
//                Cmd(
//                    CmdUtil.MEMORY,
//                    CmdKey.M3_SET_POS
//                ),
//                Cmd(
//                    CmdUtil.MEMORY,
//                    CmdKey.M3_BACK_POS
//                )
//            )
//        )


//        memoryMap.put(
//            Constant.ITEM_FLAT2,
//            mutableListOf<Cmd>(
//                Cmd(
//                    CmdUtil.MEMORY,
//                    CmdKey.FLAT2
//                )
//            )
//        )
//
//        memoryMap.put(
//            Constant.ITEM_FACTORY_RESET,
//            mutableListOf<Cmd>(
//                Cmd(
//                    CmdUtil.MEMORY,
//                    CmdKey.FACTORY_RESET
//                )
//            )
//        )
//
//        memoryMap.put(
//            Constant.ITEM_RELAX,
//            mutableListOf<Cmd>(
//                Cmd(
//                    CmdUtil.MEMORY,
//                    CmdKey.RELAX
//                )
//            )
//        )

//            memoryFragAdapter.setData(memoryMap)
//        }
    }

}